package com.mall.core.service.auth;



import com.mall.core.Store;

import com.mall.core.Visitor;

import com.mall.service.data.DataRecorder;



//Implements the Singleton pattern
public class Authenticator<anyobject extends Visitor> {
	DataRecorder<Visitor> storeownerdata = new DataRecorder<Visitor>();
	DataRecorder<Store> storedata = new DataRecorder<Store>();
public boolean authenticateStoreOwner(anyobject systemuser,Store store){
	
	int  id = store.getId();
	Store  store_store = storedata.retrieveData(store);
	int sid = store_store.getId();
	return sid==id&&authenticateVisitor(systemuser);

}
public boolean authenticateVisitor(anyobject systemuser){
	boolean login = false;
	Visitor visitor;
	systemuser.getUserName();
	systemuser.getPassword();
		for( String record : storeownerdata.retrieveFileNames(systemuser)){
			visitor = storeownerdata.retrieveDatabyfilename(record);
			if(systemuser.getUserName().equals(visitor.getUserName())&&systemuser.getPassword().equals(visitor.getPassword())){
				login = visitor.login();
			}
		}

	return login;
	
}
public boolean registerCustomer(anyobject systemuser){
	return storeownerdata.storeData(systemuser);
	
	
}
}
